credit_rule =  {
        "baiHangD14CreditPlatfromNumber":"0",
        "baiHangD14CreditQueryNumber":"0",
        "baiHangD14InLoanPlatfromNumber":"0",
        "baiHangD14InLoanQueryNumber":"0",
        "baiHangD14ObjectionHandlingPlatfromNumber":"0",
        "baiHangD14ObjectionHandlingQueryNumber":"0",
        "baiHangD14PersonalPlatfromNumber":"0",
        "baiHangD14PersonalQueryNumber":"0",
        "baiHangD14PostLoanPlatfromNumber":"0",
        "baiHangD14PostLoanQueryNumber":"0",
        "baiHangD14SecuredPlatfromNumber":"0",
        "baiHangD14SecuredQueryNumber":"0",
        "baiHangD14TotalPlatfromNumber":"0",
        "baiHangD14TotalQueryNumber":"0",
        "baiHangD180CreditPlatfromNumber":"0",
        "baiHangD180CreditQueryNumber":"0",
        "baiHangD180InLoanPlatfromNumber":"0",
        "baiHangD180InLoanQueryNumber":"0",
        "baiHangD180NonRevApplyTenantCount":"0",
        "baiHangD180NonRevAverageLoanAmount":"0",
        "baiHangD180NonRevLoanAmount":"0",
        "baiHangD180NonRevLoanCount":"0",
        "baiHangD180NonRevLoanTenantCount":"0",
        "baiHangD180NonRevMaxLoanAmount":"0",
        "baiHangD180NonRevOverdueLoanCount":"0",
        "baiHangD180ObjectionHandlingPlatfromNumber":"0",
        "baiHangD180ObjectionHandlingQueryNumber":"0",
        "baiHangD180PersonalPlatfromNumber":"0",
        "baiHangD180PersonalQueryNumber":"0",
        "baiHangD180PostLoanPlatfromNumber":"0",
        "baiHangD180PostLoanQueryNumber":"0",
        "baiHangD180RevAccountCount":"0",
        "baiHangD180RevApplyTenantCount":"0",
        "baiHangD180RevCreditLimitSum":"0",
        "baiHangD180RevLendingAmount":"0",
        "baiHangD180RevOverdueAccountCount":"0",
        "baiHangD180SecuredPlatfromNumber":"0",
        "baiHangD180SecuredQueryNumber":"0",
        "baiHangD180TotalPlatfromNumber":"0",
        "baiHangD180TotalQueryNumber":"0",
        "baiHangD270CreditPlatfromNumber":"0",
        "baiHangD270CreditQueryNumber":"0",
        "baiHangD270InLoanPlatfromNumber":"0",
        "baiHangD270InLoanQueryNumber":"0",
        "baiHangD270ObjectionHandlingPlatfromNumber":"0",
        "baiHangD270ObjectionHandlingQueryNumber":"0",
        "baiHangD270PersonalPlatfromNumber":"0",
        "baiHangD270PersonalQueryNumber":"0",
        "baiHangD270PostLoanPlatfromNumber":"0",
        "baiHangD270PostLoanQueryNumber":"0",
        "baiHangD270SecuredPlatfromNumber":"0",
        "baiHangD270SecuredQueryNumber":"0",
        "baiHangD270TotalPlatfromNumber":"0",
        "baiHangD270TotalQueryNumber":"0",
        "baiHangD30CreditPlatfromNumber":"0",
        "baiHangD30CreditQueryNumber":"0",
        "baiHangD30InLoanPlatfromNumber":"0",
        "baiHangD30InLoanQueryNumber":"0",
        "baiHangD30NonRevApplyTenantCount":"0",
        "baiHangD30NonRevAverageLoanAmount":"0",
        "baiHangD30NonRevLoanAmount":"0",
        "baiHangD30NonRevLoanCount":"0",
        "baiHangD30NonRevLoanTenantCount":"0",
        "baiHangD30NonRevMaxLoanAmount":"0",
        "baiHangD30NonRevOverdueLoanCount":"0",
        "baiHangD30ObjectionHandlingPlatfromNumber":"0",
        "baiHangD30ObjectionHandlingQueryNumber":"0",
        "baiHangD30PersonalPlatfromNumber":"0",
        "baiHangD30PersonalQueryNumber":"0",
        "baiHangD30PostLoanPlatfromNumber":"0",
        "baiHangD30PostLoanQueryNumber":"0",
        "baiHangD30RevAccountCount":"0",
        "baiHangD30RevApplyTenantCount":"0",
        "baiHangD30RevCreditLimitSum":"0",
        "baiHangD30RevLendingAmount":"0",
        "baiHangD30RevOverdueAccountCount":"0",
        "baiHangD30SecuredPlatfromNumber":"0",
        "baiHangD30SecuredQueryNumber":"0",
        "baiHangD30TotalPlatfromNumber":"0",
        "baiHangD30TotalQueryNumber":"0",
        "baiHangD360CreditPlatfromNumber":"0",
        "baiHangD360CreditQueryNumber":"0",
        "baiHangD360InLoanPlatfromNumber":"0",
        "baiHangD360InLoanQueryNumber":"0",
        "baiHangD360NonRevApplyTenantCount":"0",
        "baiHangD360NonRevAverageLoanAmount":"0",
        "baiHangD360NonRevLoanAmount":"0",
        "baiHangD360NonRevLoanCount":"0",
        "baiHangD360NonRevLoanTenantCount":"0",
        "baiHangD360NonRevMaxLoanAmount":"0",
        "baiHangD360NonRevOverdueLoanCount":"0",
        "baiHangD360ObjectionHandlingPlatfromNumber":"0",
        "baiHangD360ObjectionHandlingQueryNumber":"0",
        "baiHangD360PersonalPlatfromNumber":"0",
        "baiHangD360PersonalQueryNumber":"0",
        "baiHangD360PostLoanPlatfromNumber":"0",
        "baiHangD360PostLoanQueryNumber":"0",
        "baiHangD360RevAccountCount":"0",
        "baiHangD360RevApplyTenantCount":"0",
        "baiHangD360RevCreditLimitSum":"0",
        "baiHangD360RevLendingAmount":"0",
        "baiHangD360RevOverdueAccountCount":"0",
        "baiHangD360SecuredPlatfromNumber":"0",
        "baiHangD360SecuredQueryNumber":"0",
        "baiHangD360TotalPlatfromNumber":"0",
        "baiHangD360TotalQueryNumber":"0",
        "baiHangD7CreditPlatfromNumber":"0",
        "baiHangD7CreditQueryNumber":"0",
        "baiHangD7InLoanPlatfromNumber":"0",
        "baiHangD7InLoanQueryNumber":"0",
        "baiHangD7ObjectionHandlingPlatfromNumber":"0",
        "baiHangD7ObjectionHandlingQueryNumber":"0",
        "baiHangD7PersonalPlatfromNumber":"0",
        "baiHangD7PersonalQueryNumber":"0",
        "baiHangD7PostLoanPlatfromNumber":"0",
        "baiHangD7PostLoanQueryNumber":"0",
        "baiHangD7SecuredPlatfromNumber":"0",
        "baiHangD7SecuredQueryNumber":"0",
        "baiHangD7TotalPlatfromNumber":"0",
        "baiHangD7TotalQueryNumber":"0",
        "baiHangD90CreditPlatfromNumber":"0",
        "baiHangD90CreditQueryNumber":"0",
        "baiHangD90InLoanPlatfromNumber":"0",
        "baiHangD90InLoanQueryNumber":"0",
        "baiHangD90NonRevApplyTenantCount":"0",
        "baiHangD90NonRevAverageLoanAmount":"0",
        "baiHangD90NonRevLoanAmount":"0",
        "baiHangD90NonRevLoanCount":"0",
        "baiHangD90NonRevLoanTenantCount":"0",
        "baiHangD90NonRevMaxLoanAmount":"0",
        "baiHangD90NonRevOverdueLoanCount":"0",
        "baiHangD90ObjectionHandlingPlatfromNumber":"0",
        "baiHangD90ObjectionHandlingQueryNumber":"0",
        "baiHangD90PersonalPlatfromNumber":"0",
        "baiHangD90PersonalQueryNumber":"0",
        "baiHangD90PostLoanPlatfromNumber":"0",
        "baiHangD90PostLoanQueryNumber":"0",
        "baiHangD90RevAccountCount":"0",
        "baiHangD90RevApplyTenantCount":"0",
        "baiHangD90RevCreditLimitSum":"0",
        "baiHangD90RevLendingAmount":"0",
        "baiHangD90RevOverdueAccountCount":"0",
        "baiHangD90SecuredPlatfromNumber":"0",
        "baiHangD90SecuredQueryNumber":"0",
        "baiHangD90TotalPlatfromNumber":"0",
        "baiHangD90TotalQueryNumber":"0",
        "baiHangMobileCount":"0",
        "baiHangNonRevLoanCount":"0",
        "baiHangNonRevMaxOverdueStatus":"N",
        "baiHangNonRevOpenLoanCount":"0",
        "baiHangNonRevOverdueCount":"0",
        "baiHangNonRevRemainingAmount":"0",
        "baiHangNonRevRemainingMaxOverdueStatus":"N",
        "baiHangNonRevRemainingOverdueAmount":"0",
        "baiHangNonRevRemainingOverdueLoanCount":"0",
        "baiHangRevAccountCount":"0",
        "baiHangRevCreditLimitSum":"0",
        "baiHangRevMaxCreditLimitPerTenant":"0",
        "baiHangRevMaxOverdueStatus":"N",
        "baiHangRevOverdueCount":"0",
        "baiHangRevRemainingAmount":"0",
        "baiHangRevRemainingMaxOverdueStatus":"N",
        "baiHangRevRemainingOverdueAccountCount":"0",
        "baiHangRevRemainingOverdueAmount":"0",
        "baiHangRevValidAccountCount":"0",
        "talkingDataPor1000022":"-989",                # 规则引擎：MDV013=100 值>=2   设备核验—近1周，设备关联IMSI数量
        "talkingDataPor1000025":"-989",                # 规则引擎：MDV005=100 值>=3   设备核验—近1月，设备关联IMSI数量
        "talkingDataPor1000027":"-989",                # 规则引擎：MDV012=100 值>=2   设备核验—近1周，设备关联IMEI数量
        "talkingDataPor1000030":"-989",                # 规则引擎：MDV004=100 值>=3   设备核验—近1月，设备关联IMEI数量
        "talkingDataPor1000032":"-989",                # 规则引擎：MDV015=20  值>=40  设备核验—近1周，设备关联的IP地址数量
        "talkingDataPor1000035":"-989",                # 规则引擎：MDV007=20  值>=100 设备核验—近1月，设备关联的IP地址数量
        "talkingDataPor1000037":"-989",                # 规则引擎：MDV014=20  值>=7   设备核验—近1周，设备关联WIFI数量
        "talkingDataPor1000040":"-989",                # 规则引擎：MDV006=20  值>=15  设备核验—近1月，设备关联WIFI数量
        "talkingDataPor1000042":"-989",                # 规则引擎：MDV016=20  值>=4   设备核验—近1周，设备凌晨WIFI使用数量
        "talkingDataPor1000045":"-989",                # 规则引擎：MDV008=20  值>=8   设备核验—近1月，设备凌晨WIFI使用数量
        "talkingDataPor1001882":"-989",                # 规则引擎：MHU020=20  值>=20  多头核验—近1周，金融理财-银行类APP使用次数
        "talkingDataPor1001883":"-989",                # 规则引擎：MHU014=20  值>=30  多头核验—近1月，金融理财-银行类APP使用次数
        "talkingDataPor1001891":"-989",                # 规则引擎：AUC011=10   值>=10  APP使用核验—近1周，金融理财-股票APP使用次数
        "talkingDataPor1001892":"-989",                # 规则引擎：AUC004=10   值>=40  APP使用核验—近1月，金融理财-股票APP使用次数
        "talkingDataPor1001909":"-989",                # 规则引擎：AUC013=10   值>=10  APP使用核验—近1周，金融理财-基金APP使用次数
        "talkingDataPor1001910":"-989",                # 规则引擎：AUC006=10   值>=40  APP使用核验—近1月，金融理财-基金APP使用次数
        "talkingDataPor1001936":"-989",                # 规则引擎：AUC009=10   值>=10  APP使用核验—近1周，金融理财-彩票APP使用次数
        "talkingDataPor1001937":"-989",                # 规则引擎：AUC002=10   值>=40  APP使用核验—近1月，金融理财-彩票APP使用次数
        "talkingDataPor1002620":"-989",                # 规则引擎：MHU017=100  值>=10  多头核验—近1周，金融理财-贷款类APP使用次数
        "talkingDataPor1002621":"-989",                # 规则引擎：MHU011=100  值>=30  多头核验—近1月，金融理财-贷款类APP使用次数
        "talkingDataPor1003052":"-989",                # 规则引擎：AUC008=100  值>=10  APP使用核验—近1周，赌博类APP使用次数
        "talkingDataPor1003053":"-989",                # 规则引擎：AUC001=100  值>=40  APP使用核验—近1月，赌博类APP使用次数
        "talkingDataPor1003162":"-989",                # 规则引擎：MDV009=10  值>=4    设备核验—近1周，凌晨使用WIFI数量
        "talkingDataPor1003165":"-989",                # 规则引擎：MDV001=10  值>=8    设备核验—近1月，凌晨使用WIFI数量
        "talkingDataPor1003171":"-989",
        "talkingDataPor1003172":"-989",
        "talkingDataPor1003176":"-989",                # 规则引擎：MDV010=100 4>值>=0   设备核验—近1周，设备报活的天数
        "talkingDataPor1003177":"-989",                # 规则引擎：MDV002=100 10>值>=0  设备核验—近1月，设备报活的天数
        "talkingDataPor1003178":"-989",                # 规则引擎：MDV017=100  值>=5   设备核验—设备最近一次活跃距离当前的天数
        "talkingDataPor1003183":"-989",                # 规则引擎：GLV010=100  值>=7   地理位置核验—近1周，出现的省份数量
        "talkingDataPor1003186":"-989",                # 规则引擎：GLV003=100  值>=10  地理位置核验—近1月，出现的省份数量
        "talkingDataPor1003188":"-989",                # 规则引擎：GLV008=30  值>=5    地理位置核验—近1周，出现的城市数量
        "talkingDataPor1003191":"-989",                # 规则引擎：GLV001=100  值>=15  地理位置核验—近1月，出现的城市数量
        "talkingDataPor1003193":"-989",                # 规则引擎：GLV011=100  值>=7   地理位置核验—近1周，出现在国外的天数
        "talkingDataPor1003196":"-989",                # 规则引擎：GLV004=60  值>=7    地理位置核验—近1月，出现在国外的天数
        "talkingDataPor1007551":"-989",
        "talkingDataPor1007718":"-989",
        "talkingDataPor1008531":"-989",                # 规则引擎：MHU015=100  值>=10  多头核验—近1周，金融理财-贷超类APP使用次数
        "talkingDataPor1009444":"-989",                # 规则引擎：AUC012=10   值>=4   APP使用核验—近1周，金融理财-股票类APP使用天数
        "talkingDataPor1009447":"-989",                # 规则引擎：AUC005=10   值>=20  APP使用核验—近1月，金融理财-股票类APP使用天数
        "talkingDataPor1009453":"-989",                # 规则引擎：AUC014=10   值>=4   APP使用核验—近1周，金融理财-基金类APP使用天数
        "talkingDataPor1009456":"-989",                # 规则引擎：AUC007=10   值>=20  APP使用核验—近1月，金融理财-基金类APP使用天数
        "talkingDataPor1009462":"-989",                # 规则引擎：AUC010=10   值>=4   APP使用核验—近1周，金融理财-彩票类APP使用天数
        "talkingDataPor1009465":"-989",                # 规则引擎：AUC003=10   值>=20  APP使用核验—近1月，金融理财-彩票类APP使用天数
        "talkingDataPor1009678":"-989",                # 规则引擎：MHU018=100  值>=4   多头核验—近1周，金融理财-贷款类APP使用天数
        "talkingDataPor1009681":"-989",                # 规则引擎：MHU012=100  值>=20  多头核验—近1月，金融理财-贷款类APP使用天数
        "talkingDataPor1009687":"-989",                # 规则引擎：MHU019=60   值>=6   多头核验—近1周，金融理财-信用卡类APP使用天数
        "talkingDataPor1009690":"-989",                # 规则引擎：MHU013=60   值>=20  多头核验—近1月，金融理财-信用卡类APP使用天数
        "talkingDataPor1009696":"-989",                # 规则引擎：MHU016=100  值>=4   多头核验—近1周，金融理财-贷超类APP使用天数
        "talkingDataPor1009699":"-989",                # 规则引擎：MHU010=100  值>=20  多头核验—近1月，金融理财-贷超类APP使用天数
        "talkingDataPor1009793":"-989",                # 规则引擎：MDV011=20  值>=30   设备核验—近1周，设备出现次数大于1的IP数量
        "talkingDataPor1009795":"-989",                # 规则引擎：MDV003=20  值>=80   设备核验—近1月，设备出现次数大于1的IP数量
        "talkingDataPor1009799":"-989",                # 规则引擎：GLV007=10  值>=8    地理位置核验—近1月，周末出现的区域数
        "talkingDataPor1009800":"-989",                # 规则引擎：GLV013=10  值>=4    地理位置核验—近1周，凌晨出现的区域数量
        "talkingDataPor1009802":"-989",                # 规则引擎：GLV012=10  值>=3    地理位置核验—近1周，工作时间出现的区域数
        "talkingDataPor1009804":"-989",                # 规则引擎：GLV006=10  值>=8    地理位置核验—近1月，凌晨出现的区域数
        "talkingDataPor1009805":"-989",                # 规则引擎：GLV014=10  值>=4    地理位置核验—近1周，周末出现的区域数
        "talkingDataPor1009807":"-989",                # 规则引擎：GLV005=10  值>=8    地理位置核验—近1月，工作时间出现的区域数
        "talkingDataPor1010083":"-989",                # 规则引擎：GLV009=100 值>=5    地理位置核验—近1周，出现的国家数量
        "talkingDataPor1010086":"-989",                # 规则引擎：GLV002=40  值>=4    地理位置核验—近1月，出现的国家数量
        "talkingDataPor1010517":"-989",
        "talkingDataPor1010518":"-989",
        "talkingDataPor1010519":"-989",
        "talkingDataPor1010520":"0.3",
        "talkingDataPor1010521":"-989",
        "talkingDataPor1010522":"-989",                # 规则引擎：
        "talkingDataPor1010523":"0.3",
        "talkingDataPor1010524":"-989",
        "talkingDataPor1010525":"-989",
        "talkingDataPor1010526":"-989",
        "talkingDataPor1010527":"-989",
        "talkingDataPor1010528":"-989",
        "talkingDataPor1010529":"-989",
        "talkingDataPor1010530":"0.3",
        "talkingDataPor1010531":"-989",
        "talkingDataPor1010532":"0.3",
        "talkingDataPor1010533":"-989",
        # 串行多余
        "tongDunThreeMonthIdNumberCount": "0",
        "tongDunThreeMonthPhoneCount": "0",
        "tongDunThreeMonthSpouseIdNumberCount": "0",
        "tongDunThreeMonthSpousePhoneCount": "0",

        "tongDunWisdomLetterPoints": "-989",
        "tongDunWisdomWasPoints": "-989",
}

loan_rule = {
    "tencentRiskCode1101":"N",              # 规则引擎：NLI022   Y=100
    "tencentRiskCode1102":"N",              # 规则引擎：NLI023   Y=100
    "tencentRiskCode1103":"N",              # 规则引擎：NLI024   Y=100         疑似资料仿冒行为
    "tencentRiskCode1104":"N",              # 规则引擎：NLI025   Y=40          疑似营销活动欺诈
    "tencentRiskCode1105":"N",              # 规则引擎：NLI026   Y=10          疑似身份信息不符
    "tencentRiskCode1106":"N",
    "tencentRiskCode1107":"N",
    "tencentRiskCode1108":"N",              # 规则引擎：NLI029
    "tencentRiskCode1201":"N",              # 规则引擎：NLI030   Y=40          疑似风险设备环境
    "tencentRiskCode3101":"N",              # 规则引擎：NLI031   Y=40          疑似异常支付行为
    "tencentRiskCode3103":"N",
    "tencentRiskCode3104":"N",
    "tencentRiskCode3202":"N",              # 规则引擎：NLI034   Y=80          疑似账号被盗风险
    "tencentRiskScore":"-989"               # 规则引擎：CSV001=100 if tencentRiskScore >= 90 or CSV001=0
}